package com.zretc.service;

import com.github.pagehelper.PageInfo;
import com.zretc.entity.Account;

import java.util.Map;

/**
 * @author 何亮龙
 * 用户操作服务层接口
 */
public interface AccountService {
    /**
     * 用户注册
     *
     * @param account
     * @return
     */
    int register(Account account);

    /**
     * 验证用户名是否存在
     *
     * @param accountName
     * @return 存在返回true 不存在返回false
     */
    boolean existsOfAccountName(String accountName);

    /**
     * 通过用户名查询单条用户信息
     * @param accountName
     * @return
     */
    Account getByAccountName(String accountName);

    /**
     * 通过用户编号查询单条用户信息
     * @param accountId
     * @return
     */
    Account getByAccountId(Integer accountId);
    /**
     * 登录
     *
     * @param accountName
     * @param accountPwd
     * @return
     */
    Account login(String accountName, String accountPwd);

    /**
     * 根据用户ID删除用户信息
     *
     * @param accountId
     * @return
     */
    boolean deleteByAccountId(Integer accountId);

    /**
     * 1.无条件查询
     * 2.根据用户名accountName模糊查询
     * 3.根据用户编号accountId查询记录
     * 4.分页当前页码 pageNum
     * 5.分页获取条数 pageSize
     *
     * @return 用户对象列表
     */
    PageInfo<Account> getAccountByCondition(Map<String, String> condition);
}
